package com.example.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.example.entity.RolesEntity;
import com.example.entity.UserrolesEntity;
import com.example.entity.UsersEntity;
import com.example.entity.UsersVoEntity;
@Mapper
public interface UsersMapper {
	/**
	 * 账号密码登录
	 * @param users
	 * @return
	 */
	public UsersEntity loginAccount(UsersEntity users);
	
	/**
	 * 多条件查询
	 * @param userVO
	 * @return
	 */
	public List<UsersEntity> GetUsersLayUI(UsersVoEntity usersVoEntity);
	/**
	 * 分页查询
	 * @param userVO
	 * @return
	 */
	public int getCount(UsersVoEntity usersVoEntity);
	/**
	 * 添加用户
	 * @param user
	 * @return
	 */
	public int addUser(UsersEntity usersEntity);
	
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	public int upUser(UsersEntity usersEntity);
	/**
	 * 根据id删除用户
	 * @param id
	 * @return
	 */
	public int delUser(Integer id);
	
	
	/**
	 * 重置密码
	 * @param id
	 * @return
	 */
	public int ResetPassword(Integer id);
   
    /**
     * 根据loginName和password查询
     * @param loginName
     * @param password
     * @return
     */
	public UsersEntity selectByNameAndPwd(@Param("loginName")String loginName, @Param("password")String password);
	/**
     * 根据id查询
     * @param id
     * @return
     */
	UsersEntity selectByPrimaryKey(String id);
    
   
    /**
     * 查询全部
     * @return
     */
    List<UsersEntity> selectListAll();
   
    
    
    /**
     * 根据loginName查询
     * @param loginName
     * @return
     */
    UsersEntity selectByName(String loginName);
    /**
     * 查询用户id
     * @param id
     * @return
     */
	public List<RolesEntity> getRolesByUid(@Param("userid")Integer userid);
	/**
	 * 查询所有角色
	 * @param id
	 * @return
	 */
	public List<RolesEntity> GetRolesAll();
	/**
	 * 解锁
	 * @param id
	 * @return
	 */
	public int islock(int id);
	/**
	 * 锁定
	 * @param id
	 * @return
	 */
	public int noIslock(int id);
	/**
	 * 登记最后登录时间
	 * @return
	 */
	public int addCreatetime(Integer id);
	/**
	 * 给用户添加身份
	 * @param ur
	 * @return
	 */
	public int addUR(UserrolesEntity ur);
	/**
	 * 给用户删除身份
	 * @param ur
	 * @return
	 */
	public int delUR(UserrolesEntity ur);
	/**
	 * 获取所有咨询师(同步咨询师)
	 * @return
	 */
	public List<UsersEntity> getUserConsultant();
	/**
	 * 手机号登录
	 * @param phoneNumber
	 * @return
	 */
	public UsersEntity selectByProtectMTel(String phoneNumber);
	/**
	 * 根据用户名获取用户id
	 * @param name
	 * @return
	 */
	public int getUserId(String name);
}
